package management.system.model.services;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collection;

import management.system.model.bean.DetalleUsuarioIdea;
import management.system.model.bean.UsuarioDTO;
import management.system.model.factory.DAOFactory;
import management.system.model.interfaces.UsuarioDAO;

public class UsuarioService {

	DAOFactory objDAOFactory = DAOFactory.getDAOFactoryDAO(DAOFactory.MYSQL);
	UsuarioDAO objUsuarioDAO = objDAOFactory.getUsuarioDAO();
	
	public UsuarioDTO getValidarUsuario(String email, String clave) throws SQLException{
		return objUsuarioDAO.getValidarUsuario(email, clave);
	}
	
	public ArrayList<UsuarioDTO> listUsuarios(String filtos) throws SQLException{
		return objUsuarioDAO.listUsuarios(filtos);
	}
	
	public Integer insertUsuario(UsuarioDTO dto) throws SQLException{
		return objUsuarioDAO.insertUsuario(dto);
	}
	
	public Integer updateUsuario(UsuarioDTO dto) throws SQLException{
		return objUsuarioDAO.updateUsuario(dto);
	}
	
	public Integer deleteUsuario(Integer ID) throws SQLException{
		return objUsuarioDAO.deleteUsuario(ID);
	}
	
	public UsuarioDTO getUsuarioById(Integer Id) throws SQLException{
		return objUsuarioDAO.getUsuarioById(Id);
	}

	public Integer getEmailUsuario(String email) throws SQLException{
		return objUsuarioDAO.getEmailUsuario(email);
	}
	
	public Integer getNumDocumento(String numero) throws SQLException{
		return objUsuarioDAO.getNumDocumento(numero);
	}
	
	public Integer insertar(DetalleUsuarioIdea bean,
			Collection<UsuarioDTO> detalleUsuario) throws SQLException{
		return objUsuarioDAO.insertar(bean, detalleUsuario);
	}
	
	public ArrayList<UsuarioDTO> listDocentes() throws SQLException {
		return objUsuarioDAO.listDocentes();
	}
}
